<?php
namespace app\adminapi\logic;

class AuthLogic{
    public static function check(){
        //判断是否是特殊的页面 index
        $controller = request()->controller();
        $action = request()->action();
        if ($controller == 'Index' && $action !=='index'){
            //不需要检测（有权限访问）
            return true;
        }
        //获取管理员用户
        $user_id = input('user_id');
        $info = \app\common\model\Admin::find($user_id);
        $role_id = $info['role_id'];
        if ($role_id == 1){
            return true;
        }
        //查询当前管理员所有的权限ids
        $role = \app\common\model\Role::find($role_id);
        $role_ids = explode(',',$role['role_auth_ids']);
        //查询当前访问的权限
        $auth = \app\common\model\Auth::where('auth_c',$controller)->where('auth_a',$action)->find();
        if (in_array($auth['id'],$role_ids)){
            return true;
        }
        return false;
    }
}